package com.sqx.modules.creation.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sqx.modules.creation.entity.NCreation;
import com.sqx.modules.creation.entity.vo.GetCreationListVo;
import com.sqx.modules.creation.entity.vo.GetMyCreationListVo;
import com.sqx.modules.creation.entity.vo.SelCreationListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 创作表 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2024年09月03日
 */
@Mapper
public interface CreationDao extends BaseMapper<NCreation> {

    IPage<GetCreationListVo> getCreationList(Page<NCreation> page,@Param("userName") String userName,@Param("creationClassify") Integer creationClassify,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("labelId") Integer labelId,@Param("creationStatus") Integer creationStatus);

//    IPage<GetCreationListVo> getCreationList(Page<NCreation> page, @Param("userName") String userName,@Param("type") Integer type,@Param("startTime") String startTime,@Param("endTime") String endTime);

    IPage<SelCreationListVo> selCreationList(Page<NCreation> creationPage,@Param("city") String city,@Param("userId") Long userId);

    IPage<SelCreationListVo> selCreationListByLabel(Page<NCreation> creationPage,@Param("city") String city,@Param("userId") Long userId,@Param("labelId") Integer labelId);

    IPage<SelCreationListVo> selCreationListByClassify(Page<NCreation> creationPage,@Param("userId") Long userId);

    IPage<SelCreationListVo> selCreationListByHot(Page<NCreation> creationPage,@Param("userId") Long userId);

    IPage<GetMyCreationListVo> getMyCreationList(Page<NCreation> voPage,@Param("userId") Long userId,@Param("selUserId") Long selUserId,@Param("classify") Long classify);

}
